// pages/register/register.js
Page({
    data: {
        formValues: {
          employee_number: '',
          name: '',
          password: '',
        },
      showPassword: false,
      showRegisterModal: true,  // 控制注册卡片显示
      isAgreed: false,          // 复选框状态
      hire_date: ''             // 入职日期
    },
  
    // 打开注册卡片
    openRegisterModal() {
      this.setData({ showRegisterModal: true });
    },

    // 关闭模态框方法,关闭后返回首页,添加关闭确认提示
    closeRegisterModal: function() {
      wx.showModal({
        title: '确认关闭',
        content: '输入的内容将不会被保存',
        confirmText: '确定',  // 确认按钮文字
        cancelText: '取消',   // 取消按钮文字
        success: (res) => {  // 使用箭头函数确保this指向正确
          if (res.confirm) {
            // 用户点击确定
            wx.switchTab({
              url: '/pages/home/home',
              success: () => {
                this.setData({ showRegisterModal: false }) // 清理状态
              }
            })
          }
        }
      })
    },

    // 统一跳转方法（优化版）
  navigateToUserPage() {
    // 先关闭当前页面
    wx.navigateBack({
      delta: 1,
      success: () => {
        // 再跳转到用户页
        wx.switchTab({
          url: '/pages/user/user',
          success: () => {
            console.log('[DEBUG] 跳转成功')
            this.setData({ 
              showRegisterModal: false,
              hire_date: '',
              isAgreed: false
            })
          }
        })
      }
    })
  },

    // 切换复选框状态
    toggleAgreement() {
      this.setData({ isAgreed: !this.data.isAgreed });
    },
  
    // 日期选择器变化事件
    bindDateChange(e) {
      this.setData({ hire_date: e.detail.value });
    },
  
    // 提交表单
    handleSubmit: function(e) {
      const formData = e.detail.value;
      console.log("表单数据:", formData);

  
      // 必填字段验证
      if (!formData.employee_number || !formData.name || !this.data.hire_date || !formData.password) {
        wx.showToast({ title: '请填写必填字段', icon: 'none' });
        return;
      }

      // 显示加载提示
      wx.showLoading({ title: '注册中...', mask: true })
  
      // 构造请求数据
      const requestData = {
        ...formData,
        hire_date: this.data.hire_date
      };
  
      // 调用注册接口（示例代码）
      wx.request({
        url: 'http://192.168.1.57:5001/api/register',
        method: 'POST',
        header: {
            'Content-Type': 'application/json'  // 明确指定请求头
          },
        data: requestData,
        success: (res) => {
          console.log('[DEBUG] 服务器响应:', res.data)
          wx.hideLoading()
          if (res.data?.status === 'success') {
            // ============== 新增代码 ==============
            // 存储用户凭证到本地
            wx.setStorageSync('userInfo', {
              name: res.data.data.name,
              token: res.data.data.token, // 后端返回的JWT
              employee_number: res.data.data.employee_number
            })
            //console.log('[DEBUG] 服务器响应:', userInfo.data)
            // ============== 新增结束 ==============
            wx.showModal({
              title: '注册成功',
              content: '点击确认返回个人中心',
              confirmText: '确定',
              showCancel: false, // 隐藏取消按钮
              success: (modalRes) => {
                if (modalRes.confirm) {
                  this.navigateToUserPage()
                }
              }
            })
          } else {
            wx.showToast({ title: res.data.message || '注册失败', icon: 'none' });
          }
        },
        fail: () => {
          wx.showToast({ title: '网络错误', icon: 'none' });
          console.log("表单数据网络错误:", formData);
        }
      });
    },

    // 输入变化监听
    onInputChange: function(e) {
      const field = e.currentTarget.dataset.field;
      console.log("输入数据:", field);
      this.setData({
        [`formValues.${field}`]: e.detail.value
      });
    },

    // 新增登录处理方法
    handleLogin: function() {
        const { employee_number, name, password } = this.data.formValues;
        console.log("表单数据:", employee_number);
        if (!employee_number || !name || !password) {
          wx.showToast({ title: '请填写完整登录信息', icon: 'none' });
          return;
        }

      wx.showLoading({ title: '登录中...', mask: true });
  
      wx.request({
        url: 'http://192.168.1.57:5001/api/login',
        method: 'POST',
        header: { 'Content-Type': 'application/json' },
        data: {
          employee_number: employee_number,
          name: name,
          password: password
        },
        success: (res) => {
          wx.hideLoading();
          if (res.data?.status === 'success') {
            wx.setStorageSync('userInfo', {
              token: res.data.data.token,
              name: res.data.data.name,
              employee_number: res.data.data.employee_number,
              employee_id: res.data.data.employee_id
            });
            wx.showToast({ title: '登录成功' });
            this.navigateToUserPage();
          } else {
            wx.showToast({ title: res.data?.message || '登录失败', icon: 'none' });
          }
        },
        fail: () => {
          wx.showToast({ title: '网络连接失败', icon: 'none' });
        }
      });
    },
  
    // 提取表单数据通用方法
    getFormData: function() {
      const form = this.selectComponent('form');
      return form ? form.getValues() : {};
    },
    
    //密码小眼睛
    togglePasswordShow() {
        this.setData({ 
          showPassword: !this.data.showPassword 
        })
      }
  });